package com.syl.starter.itools.common.utils;

/**
 * 数字类型工具类
 *
 * @author syl
 * @create 2019-02-23 15:06
 **/
public class NumberUtils extends org.apache.commons.lang3.math.NumberUtils{

    /**
     * 判断是否等于0
     * @param integer
     * @return
     */
    public static boolean isZero(Integer integer){
        return integer == null || 0 == integer;
    }

    /**
     * 是否全部等于0
     * NumberUtils.isZero(null)  = true
     * NumberUtils.isZero(0, 0)  = true
     * NumberUtils.isZero(0, null)  = true
     * NumberUtils.isZero(0, 1)  = false
     *
     * @param integers
     * @return
     */
    public static final boolean isZero(Integer... integers){
        if (integers == null) return true;
        for (Integer integer : integers) {
            if (!isZero(integer)) return false;
        }
        return true;
    }

    /**
     * 判断是否不等于0
     * @param integer
     * @return
     */
    public static boolean isNotZero(Integer integer){
        return !isZero(integer);
    }

    /**
     * @param integer
     * @param defaultInt
     *
     * @return 如果入参为空那么返回默认值
     */
    public static int defaultInteger(Integer integer, Integer defaultInt){
        return integer == null ? defaultInt : integer;
    }

    /**
     * 比较数字是否在匹配域中
     * @param number
     * @param numberMap
     * @return
     */
    public static boolean equalsAny(Object number, Object... numberMap) {
        if(number == null || numberMap == null || numberMap.length < 1)
            return false;
        for (Object temp : numberMap) {
            if(!number.equals(temp))
                return false;
        }
        return true;
    }



}
